package com.siro.common.exception;

/**
 * @author starsea
 * @date 2021-11-14 13:53
 *
 * 错误码和错误信息定义类
 * 1.错误码定义规则为5位数字
 * 2.前两位表示业务场景，最后三位表示错误码，例如10001.10：通用 001：系统位置错误
 * 3.维护错误码后需要维护错误描述，将他们定义为枚举形式
 * 错误码列表：
 *  10：通用
 *      001：参数格式校验
 *      002：短信验证码频率太高
 *  11：商品
 *  12：订单
 *  13：购物车
 *  14：物流
 *  15：用户
 *  21: 库存
 */
public enum BizCodeEnum {

    UNKNOW_EXCEPTION(10000, "系统出现未知异常"),
    VALID_EXCEPTION(10001, "参数格式校验失败"),
    TOO_MANY_REQUEST(10002, "请求流量过大"),
    SMS_CODE_EXCEPTION(10003, "验证码获取频率太高，请稍后再试"),
    PRODUCT_UP_EXCEPTION(11000,"商品上架异常"),
    USER_EXIST_EXCEPTION(15001,"用户存在异常"),
    PHONE_EXIST_EXCEPTION(15002,"电话存在异常"),
    LOGINACCT_PASSWORD_INVAILD_EXCEPTION(15003,"账号密码错误"),
    NO_STOCK_EXCEPTION(21000,"商品库存不足");

    private int code;
    private String message;

    BizCodeEnum(int code, String message) {
        this.code = code;
        this.message = message;
    }

    public int getCode() {
        return code;
    }

    public String getMessage() {
        return message;
    }
}
